package eventos.barraMenu;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.IOException;

import javax.swing.JOptionPane;

import xml.XMLManager;

import controlador.ControladorEditor;
import exportador.ExportadorImagen;


public abstract class EventoExportarImagen extends MouseAdapter {
	
	private ExportadorImagen exportador;
	private ControladorEditor controlador;
	private String tipoArchivo;
	
	public EventoExportarImagen(ControladorEditor controlador, String tipoArchivo)
	{
		super();
		this.controlador = controlador;
		this.exportador = new ExportadorImagen(controlador.getVentanaPrograma().getHojaDeDibujo().getCanvas());
		this.tipoArchivo = tipoArchivo;
	}
	
	public void mouseClicked(MouseEvent e)
	{
		String path = XMLManager.getInstance().getPath(),
				nombreArchivo = this.controlador.getProyectoActual().getDiagramaActual().getDiagrama().getNombre();
		
		this.controlador.getVentanaPrograma().getHojaDeDibujo().resetearEscalado();
		
		try
		{
			this.exportador.guardar(path+nombreArchivo, tipoArchivo);
			JOptionPane.showMessageDialog(this.controlador.getVentanaPrograma(),"Se ha exportado el diagrama actual. \nArchivo: "+path, "Exportación Exitosa", JOptionPane.INFORMATION_MESSAGE);
		}
		catch (IOException e1) 
		{
			JOptionPane.showMessageDialog(this.controlador.getVentanaPrograma(),"No se pudo realizar la exportación.", "Error de Exportación", JOptionPane.ERROR_MESSAGE);
		}	
		
	}	
}
